static Image[] imgSK = new Image[SK_COUNT];
public static final int SK_HOME=0;
public static final int SK_SELECT=1;
public static final int SK_BACK=2;
public static boolean s_canMoveBack=false;
public static void loadSK(int sk) {
		if (imgSK[sk] != null)
			return;
		try {
			switch (sk) {
			case SK_BACK:
				imgSK[SK_BACK] = Image.createImage("/back.png");
				break;
			case SK_HOME:
				imgSK[SK_HOME] = Image.createImage("/home.png");
				break;
			case SK_SELECT:
				imgSK[SK_SELECT] = Image.createImage("/select.png");
				break;
			default:
				break;
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	public static void drawSoftKey(int left, int right) {
		if (left > -1) {
			loadSK(left);
			s_g.drawImage(imgSK[left], LSK_X, SK_Y, Graphics.VCENTER
					| Graphics.HCENTER);
		}
		if (right > -1) {
			loadSK(right);
			s_g.drawImage(imgSK[right], RSK_X, SK_Y, Graphics.VCENTER
					| Graphics.HCENTER);
		}
	}
	public static void drawSoftKey() {
		switch (s_iCurrentState) {
		case GameState.InGame:
			if (s_canMoveBack)
				drawSoftKey(SK_HOME, SK_BACK);
			else
				drawSoftKey(SK_HOME, -1);
			break;
		case GameState.About:
		case GameState.Help:
		case GameState.HighScore:
			drawSoftKey(-1, SK_BACK);
			break;
		case GameState.InGameMenu:
		case GameState.MainMenu:
		case GameState.Options:
		case GameState.Exit:
		//case GS_SELECT_DIFF:
		//case GS_SELECT_GAME:
			drawSoftKey(SK_SELECT, SK_BACK);
			break;
		// case GS_CONFIRM:
			// if (s_iConfirmType != CFM_SOUND && s_iConfirmType != CFM_NEWGAME)
				// drawSoftKey(SK_SELECT, SK_BACK);
			// else
				// drawSoftKey(SK_SELECT, -1);
			// break;
		default:
			break;
		}
	}